package web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.catalina.Session;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import java.text.SimpleDateFormat;

import modelo.mAdministrador;
import modelo.mSabio;
import negocio.*;
@Controller
public class IndexController {
	
	@RequestMapping(value = "/index")	
	protected ModelAndView inicio(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ModelAndView ret = null;
		//return new ModelAndView("logeo");
		
		//HttpSession objs;
		
		String pagina = "inicio";
		if(request.getContentLength()>-1){
			String tipo = request.getParameter("cboTipo");
			String usuario = request.getParameter("txtUsuario");
			String pwd = request.getParameter("txtPwd");
			String rpta = "";
			//// validando usuario
			if(tipo.equals("A")){
				
				pagina = "proyMenu";
				mAdministrador mAdm = new mAdministrador();
				mAdm.setEmail(usuario);
				mAdm.setPwd(pwd);
				nAdministrador objAd = new nAdministrador();
				mAdm = objAd.logUser(mAdm);
				rpta = mAdm.getNombre();
				ret = new ModelAndView(pagina,"USUARIO",rpta);
				
				if(rpta.substring(0, 5).trim().equals("Error")){
					pagina = "inicio";
					ret = new ModelAndView(pagina,"MENSAJE",rpta);
				}else{
					mAdm.setNombre(rpta);
					HttpSession sessionActual = request.getSession(true);
					sessionActual.setAttribute("Usuario", mAdm);
				}
			}else if(tipo.equals("S")){
				pagina = "proyMdi";
				mSabio mSab = new mSabio();
				mSab.setEmail(usuario);
				mSab.setPwd(pwd);
				nSabio objSab = new nSabio();
				mSab = objSab.logUser(mSab);
				rpta = mSab.getNombre();
				ret = new ModelAndView(pagina,"USUARIO",rpta);
				if(rpta.substring(0, 5).trim().equals("Error")){
					pagina = "inicio";
					ret = new ModelAndView(pagina,"MENSAJE",rpta);
				}else{
					mSab.setNombre(rpta);
					HttpSession sessionActual = request.getSession(true);
					sessionActual.setAttribute("Usuario", mSab);
					nPlanNegocio oPlan = new nPlanNegocio();
					pagina = "proyMdi";
					System.out.print(mSab.getIdSabio());
					ret = new ModelAndView(pagina,"PLANES",oPlan.listar(mSab.getIdSabio()));
					//ret = new ModelAndView(pagina);
				}
			}else if(tipo.equals("E")){
				pagina = "inicio";
			}
		}else{
			ret = new ModelAndView(pagina);
		}
		return ret;
	}
	
	@RequestMapping(value = "/salir")
	protected ModelAndView terminar(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		HttpSession sessionActual = request.getSession(true);
		sessionActual.isNew();
		sessionActual.setAttribute("Usuario",null);
		sessionActual.removeAttribute("Usuario");
		System.out.println(sessionActual.getAttribute("Usuario"));
		return new ModelAndView("inicio","MENSAJE","");
	}

}
